G.729 and G.723.1 codecs for Asterisk open source PBX

Sources

Asterisk 1.4 to 21 are supported.

To compile the codecs it is recommended to install Intel IPP libraries for better performance. Alternatively, download and install Bcg729 - a slightly slower implementation written in portable C99. Only G.729 will be available in that case.

The codecs are tested against Bcg729 1.0.2, IPP 5.3 - 8.2. Users of IPP 9.0 and IPP 2017 must also install IPP Legacy libraries. Later IPP versions may not work. AMD processors works with IPP too.

Binaries

  1. choose codec binary appropriate for your Asterisk version and CPU type, use x86_64 for 64-bit mode
  2. delete old codec_g72[39]*.so files (if any) from /usr/lib/asterisk/modules directory
  3. copy new codec_g72[39]*.so files into /usr/lib/asterisk/modules directory
  4. restart Asterisk
  5. check the codec is loaded with 'core show translation recalc 10' on Asterisk console
  6. G.723.1 send rate is configured in Asterisk codecs.conf file:
    [g723]
    ; 6.3Kbps stream, default
    sendrate=63
    ; 5.3Kbps
    ;sendrate=53
    This option is for outgoing voice stream only. It does not affect incoming stream that should be decoded automatically whatever the bitrate is.
  7. in sip.conf or/and iax.conf configure the codec(s) either globally or under respective peer, for example:
    disallow=all
    allow=g729
  8. use "g723 debug" and "g729 debug" commands to print statistics about received frame sizes, can aid in debugging audio problems; you need to bump Asterisk debug level to 1 to see the numbers
  9. for detailed information about Asterisk configuration visit Asterisk Wiki
  10. for information about astconv utility read the README
  11. in case of problems read Notes and Troubleshooting
Linux binaries
Asterisk 1.8
Asterisk 11
Asterisk 12
Asterisk 13
Asterisk 14
Asterisk 15
Asterisk 16
Asterisk 17
Asterisk 18
Asterisk 19
Asterisk 20
Asterisk 21

Notes

Troubleshooting

Google Groups
Asterisk G.729
Visit this group

Getting help

The primary source of help is Asterisk G.729 Google group. Post your questions there, but first read Notes and Troubleshooting sections above. When reporting a problem it is up to you to provide as much useful information as possible. "Doesn't work" - is not a good description.